package nfwx.analytics;

import java.util.Date;

/**
 * 采集参数：应用事件基类
 */

public class GrabAppEvent extends GrabObject {

    ///视频事件名

    //应用启动事件
    public static final String EVENT_NAME_APP_START="appStart";
    //应用暂停事件
    public static final String EVENT_NAME_APP_PAUSE="appPause";
    //应用恢复事件
    public static final String EVENT_NAME_APP_RESUME="appResume";
    //应用退出事件
    public static final String EVENT_NAME_APP_QUIT="appQuit";
    //应用崩溃事件
    public static final String EVENT_NAME_APP_CRASH="appCrash";
    //用户使用了某个界面事件
    public static final String EVENT_NAME_APP_USE="appUse";

    //事件名
    public final GrabString type;
    //事件发生时间ms
    public final GrabNumber time;
    //事件发生时的持续时间
    public final GrabNumber duration;
    //事件发生的关联实体名
    public final GrabString entity;
    //事件的附加参数
    public final GrabObject extra;

    public GrabAppEvent(String type)
    {
        super(false);
        this.type = (GrabString)defineProperty("type", new GrabString(true));
        this.type.setValue(type);
        time = (GrabNumber)defineProperty("time", new GrabNumber(true));
        duration = (GrabNumber)defineProperty("duration", new GrabNumber(false));
        entity = (GrabString)defineProperty("entity", new GrabString(false));
        extra = (GrabObject) defineProperty("extra", new GrabObject(false));

        time.setValue((new Date()).getTime());
    }
}

